ArcGIS Pro基于遥感影像使用深度学习地物识别评估植被健康情况(教程)
对植被的健康状况进行清查和评估,需要花费大量的时间和劳动力。为简化这个过程,这一次,我们使用深度学习模型来识别树木,根据植被绿度来识别它的健康状况。
首先,需要获得具有较高的空间和光谱分辨率的影像来识别树木;
其次,创建训练样本并转换为可供深度学习模型使用的格式;
最后,根据检测结果评估植被健康状况
我们有哪些数据:
2.1 获取数据
下载深度学习文件并将其解压缩到 C: 盘。
地址:https://pan.baidu.com/s/1sLf1xWhkyfmE3RqkFa3iKQ(暗号:0e0b)
注:路径须为 C:\DeepLearning\Data,否则稍后引用此路径的文件将无法使用。
2.2 查看数据
1>启动 ArcGIS Pro。登录获得许可的 ArcGIS 帐户。
注:没有 ArcGIS Pro 或 ArcGIS 帐户,可以注册 ArcGIS 免费试用版。
2>.新建-地图。
3>将工程命名为 CoconutHealth。保存到所选位置,单击确定。
4>在地图选项卡的图层组中,单击添加数据。
5>浏览至影像所在位置,选择 .tif 文件,确认添加。并重命名为Kolovai Palms。
观察:影像中有大量椰子树。如果通过字段单独计算,或视觉检查影像,需要花费数天的时间。使用深度学习模型的方法之前,我们需要创建一小部分椰子树的样本来训练模型。
6>首先,创建自定义地图显示,以便快速放大影像的不同区域。在地图窗口的底部,单击地图比例箭头并选择自定义。
7>在比例属性窗口中,确保标准比例选项卡处于选中状态。在比例框中,输入 1:500。单击添加并单击确定。
8>在功能区上地图选项卡的查询组中,单击定位。
9>转到定位搜索框,粘贴下列坐标,然后按 Enter 键:175.3458501°W 21.0901350°S。
字母A用以标记坐标的位置。单击地图比例列表并选择 1:500。
10>在功能区上,单击地图选项卡导航组中的书签。在菜单中,单击新建书签。
11>在创建书签窗口中,命名为 Northwest palms 并单击确定。
12>以 1:500 的比例为下列坐标创建书签:
13>保存工程。
坐标 | 书签名称 |
175.3413074°W 21.0949798°S | Central east palms |
175.3479054°W 21.1018014°S | Southwest palms |
175.3409475°W 21.1035265°S | Southeast palms |
175.3479457°W 21.0959058°S | Central west palms |
2.3 创建训练方案
在使用训练深度学习模型或任何影像分类模型的过程中,创建良好的训练样本至关重要。为了“教会”模型椰子树可能具有的大小、形状和光谱特征,我们需要为多建立一些训练样本。
1>单击功能区上的影像选项卡。
小贴士:ArcGIS Pro 会基于上下文工作,所以只有在内容窗口中选择了相关数据,才能使用某些工具和选项卡。要激活影像分析工具,必须选择栅格图层。
在内容窗口中,确保已选中 Kolovai Palms。可使用影像分类、测量和工具组中的工具,激活新的选项卡:“栅格图层”以及“外观”和“数据”。
2>在影像分类组中,单击分类工具并选择训练样本管理器。
训练样本管理器窗口默认显示国家土地覆被数据库(NLCD2011) 的分类方案。我们将创建一个方案,其中只有一类,就是我们感兴趣的椰子树。
3>在影像分类窗口中,单击创建新方案。
移除 NLCD2011 方案。重命名新建方案并向其中添加一个类。
4>右键新建方案并选择编辑属性。名称输入 Coconut Palms。单击保存。
5>选择 Coconut Palms 方案后,单击添加新类按钮。
注:如果未看到该按钮,尝试展开窗口或单击下拉箭头以查看更多选项。
在添加新类窗口中,设置以下参数:
名称:输入 Palm。
值:输入 1。
颜色:选择火星红。
单击确定。
接下来使用 Palm 类创建要素,在每个书签中训练深度学习模型。
2.4 创建训练样本
1>从书签中选择 Northwest palms 书签。
2>在训练样本管理器窗口中,选择 Palm 类,单击圆形工具来绘制每棵椰子树。
3>在地图上单击椰子树的中心并在单棵树周围绘制圆。
4>在地图显示中的每棵树周围绘制圆。完成后,将记录大约 100 个样本。
5>为每个书签上的每棵树创建训练样本。
注:训练模型时使用的样本越多,模型执行分类的效果越好。
数字化训练样本过程可能比较耗时,但在这个过程中我们能够获得大量样本。我们为模型提供的样本越多,返回的结果就越准确。一切都是值得的!
6>样本创建完成后,保存至默认地理数据库 CoconutHealth.gdb。
7>将要素类命名为 PalmTraining 并单击保存。
①在功能区上单击分析选项卡。在地理处理组中单击工具。搜索并打开导出训练数据进行深度学习工具。
②在导出训练数据进行深度学习工具中,输入以下参数并单击运行:
对于输入栅格,选择 Kolovai Palms。
对于输出文件夹,在 CoconutHealth 文件夹中创建一个名为 ImageChips 的文件夹,并单击确定。
对于输入要素类或分类栅格,选择 PalmTraining。
对于类值字段,选择 Classvalue。
这是唯一的 ID 字段,用于表示训练样本数据集中的不同类。训练样本数据中只有一个类的类值为 1,该类值已由您在训练样本管理器中指定。由于您已创建训练样本面,而未使用点,因此无需指定缓冲半径值。
该工具完成后,刷新目录窗口中的 ImageChips 文件夹,就会看到其中填充有影像片样本和元数据。
8>保存工程。
在本节中,我们创建了训练样本,并将其导出为与深度学习模型兼容的格式来进行训练。在下一节中,我们将识别种植园的所有树木。
在上一节中,我们创建了椰子树的训练样本,这些训练样本可用于通过深度学习框架(如 TensorFlow、Keras 或 CNTK)训练模型。借助 ArcGIS Pro 中的深度学习工具,我们可以在外部深度学习模型中训练数据,使用模型结果对影像进行分类。因此在我们的课程数据中已经包含了用于检测的训练模型。
1>克隆默认环境
2>在工程选项卡单击Python选项卡,在管理环境中克隆默认值,并选中克隆环境来激活该环境,该环境在重启Pro之后生效。
3>如有必要,安装 TensorFlow。
要运行该工具,需要安装 TensorFlow 框架。可在 ArcGIS Pro 中通过 Python 环境或 Python 命令提示符来完成。
注:要确认是否已安装 TensorFlow,请打开 Python 后台并在 Python 软件包管理程序中找到该软件包。
下面演示运行Python命令提示符添加模块的方式:
安装ArcGIS Pro时,已下载了Python命令提示符,若环境中没有tensorflow的模块包,打开Python Command Prompt,运行以下命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow
3.2准备分析
使用深度学习检测对象工具依赖于TensorFlow中的算法和推断函数。
1>在功能区视图选项卡单击目录窗口。浏览到CoconutHealth 文件夹中创建的 ImageChips 文件夹。右键复制路径。
2>打开文件资源管理器并粘贴路径以导航到 ImageChips 文件夹。
已通过导出训练数据进行深度学习工具创建了:
两个文件夹、两个文本文件、一个 .json 文件和一个 .emd 文件。
esri_model_definition.emd 文件是一个模板,将由训练模型的数据科学家填写,其中包含用于训练的影像的深度学习框架、训练模型的文件路径、类名、模型类型和影像规范等信息。.emd 文件是经过训练的模型与 ArcGIS Pro 之间的桥梁。
3>在文本编辑器中打开下载好的 TensorFlowCoconutTrees.emd 文件。
其中包含 TensorFlow 框架、ObjectDetection 模型配置以及影像规范。
3.3 椰子树检测
从影像中提取要素时,大部分工作是准备数据、创建训练样本和训练模型。现在需要使用经过训练的模型来检测影像中的椰子树。
1>在地理处理窗口中,搜索并打开使用深度学习检测对象工具。输入以下参数:
输入栅格:选择 Kolovai Palms。
输出检测对象:输入 CoconutTrees。
模型定义:输入 TensorFlowCoconutTrees.emd(与 C:\DeepLearning\Data 中的课程数据一起下载)。
选中非极大值抑制的复选框。
最大重叠比:输入 0.4。
score_threshold 参数是置信度阈值 - 将对象标记为椰子树时的可接受置信度是多少?可以调整该数字以获得所需精度。
小编有话说:在卷积神经网络建模中执行影像卷积时,实际上是收缩了数据,与内部像素相比,在分析过程中影像边缘的像素使用得更少。默认情况下,填充参数为 0,当填充参数为1时意味着像素的附加边界已添加到影像的外边缘,且均具有值 0。由此可以减少由有效边缘像素和收缩带来的信息丢失。你也可以将参数更改为 1 或 2 来查看效果。
batch_size 参数定义了在每次训练迭代中用于训练网络的样本数。
例如,有1,000个训练样本且批量大小为100,则前100个训练样本将用于训练神经网络。在下一次迭代中,将使用接下来的 100 个样本,依此类推。如果是在 GPU 上运行 TensorFlow,请随意将批量大小增加到 10、20 或更多来查看结果。如果是在 CPU 上运行 TensorFlow,请将批量大小设置为 1。
①将影像中的某处以 1:500 的比例放大。
②单击使用深度学习检测对象工具上的环境选项卡。将范围更改为当前显示范围。如有必要,请将阈值、填充和批量大小得分参数分别更改为 0.6、0 和 1。
③单击运行。
无论是在 CPU、GPU 还是 RAM 上运行,该工具都可能需要 20 分钟到 40 分钟才能运行,具体取决于硬件情况。
4>保存工程。
在上一节中,我们使用深度学习模型从影像中提取了椰子树。本节将通过计算植被健康指数来评估植被健康情况。
为评估植被健康情况,我们需要计算可视化大气阻抗指数 (VARI),该指数可仅用可见光波长的反射率值间接测量叶面积指数 (LAI) 和植被覆盖度 (VF):
(Rg - Rr) / (Rg + Rr - R(Rg - Rb))
其中,Rr、Rg 和 Rb 分别是红光、绿光和蓝光波段的反射率值。
注:通常情况下,我们可以使用NDVI(归一化插值植被指数)来评估植被健康情况,但我们下载的影像包含三个可见光波段,所以用 VARI 作为替代。
4.1 计算 VARI
注:使用波段算数-栅格函数计算VARI比地理处理工具要快,因为它们无需创建新的栅格数据集,而是在平移和缩放的同时对像元执行实时分析。
1>单击功能区上的影像选项卡。在分析组中,单击栅格函数。
2>在栅格函数窗口中,搜索并选择波段算术栅格函数。
3>在波段算术属性函数中,设置以下参数,并单击创建新图层:
栅格:选择 Kolovai Palms 栅格图层。
方法:选择 VARI。
波段指数:输入 1 2 3。
VARI 图层将添加到内容窗口,命名为 Band Arithmetic_Kolovai Palms。确保在内容窗口中为选中状态。
4>在外观选项卡渲染组中,选择拉伸类型下拉菜单,并选择标准差。
5>在内容窗口中,将 Band Arithmetic_Kolovai Palms 重命名为 VARI。
4.2 将 VARI 提取到 Coconut Palms
了解每棵树的平均 VARI。并对其进行符号化,以显示哪些树是健康的,哪些树需要保养。首先要将面要素转换为圆圈,以表示椰子树。
1>在地理处理窗口中,搜索并打开要素转点工具。
输入要素:选择 CoconutTrees 图层。
输出要素类:输入 CoconutTrees_Points。
在每个检测到的面的质心,有一个点要素类。
1>理窗口中,搜索并打开缓冲区工具。
2>指定以下参数,然后单击运行:
输入要素:CoconutTrees_Points。
输出要素类:PalmTreesBuffer。
距离:3 米(线性单位)。
结果用于描绘每棵椰子树树顶的位置和一般形状。
在内容窗口中,关闭 VARI、CoconutTrees 以及 CoconutTrees_Points 图层。接下来提取每个面的平均 VARI 值。
1>在地理处理窗口中,搜索并打开以表格显示分区统计工具。
2>在以表格显示分区统计工具中,输入以下参数并单击运行:
输入栅格或要素区域数据:PalmTreesBuffer。
区域字段:ORIG_FID。
输入值栅格:VARI。
输出表:MeanVARI_per_Palm。
在计算中忽略 NoData。
统计类型:平均值。
将区域字段设置为 ORIG_FID 可以确保单独获取每棵树的统计数据。此属性是来自原始 CoconutTrees 图层的唯一 ID。
输出表将添加到内容窗口。将此表连接到 PalmTreesBuffer 图层,得到一个包含每棵检测到的椰子树的置信度得分和平均 VARI 的要素类。
1>在地理处理窗口中,搜索并打开连接字段工具。
2>在连接字段工具中,输入以下参数并单击运行:
对于输入表,选择 PalmTreesBuffer。
对于输入连接字段,选择 ORIG_FID。
对于连接表,选择 MeanVARI_per_Palm。
对于输出连接字段,选择 ORIG_FID。
对于连接字段,选择 MEAN。
1>在内容窗口中,将 PalmTreesBuffer 重命名为 PalmTreesVARI。
2>在外观选项卡绘图组中,单击符号系统。对于主符号系统,选择分级色彩。
1>字段:选择 MEAN。
2>方法:选择自然间断点分级法 (Jenks),并将类设置为 4。
3>配色方案,单击下拉菜单选中显示所有和显示名称。选择红-黄-绿(4 类)。
1>在类别下,单击每个标注,并按顺序依次重命名为:Needs Inspection、Declining Health、Moderate 和 Healthy。
此时地图显示了影像中每棵椰子树的位置、健康情况和模型置信度。
1>保存工程。
————————————————
版权声明:本文为CSDN博主「GISer_YXwang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GISer_YXwang/article/details/104564558
供稿 | 郭亚会
排版 | 肖燚
校稿 | 郭亚会
审核 | 郭亚会
联系 | guoyh@mail.bnu.edu.cn
精品视频课程推荐(即买即看) | ||
---|---|---|
1 | 19个章节 | 无人机遥感在农林信息提取中的实现方法与GIS融合应用高级实践课程 |
2 | 9个章节 | 无人机生态环境监测、图像处理与GIS数据分析综合应用实践技术 |
3 | 11个章节 | 土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测专题课程 |
4 | 6个章节 | PROSAIL模型前向模拟与植被参数遥感提取代码实现课程 |
5 | 9个章节 | 植被参数遥感反演与数据同化实践技术应用视频课程 |
6 | 19个章节 | 高光谱遥感数值建模技术及在植被、水体、土壤信息提取领域应用 |
7 | 7个章节 | 长时间序列遥感数据分析与代码实现技术应用 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
添加小编微信,海量数据、视频教程免费获取
END
海量数据免费获取
+
Ai尚研修海量资源(数据、课件、书籍、视频教程)一键免费领取
(点击数据标题,直接进入)
土利用数据
上下滚动查看更多
END
超级会员专享
如何成为超级会员:
1.凡参加Ai尚研修收费课程即为超级会员
2.充值3500元即为Ai尚研修超级会员;
超级会员特权:
1.参加直播与现场课程专享400元会员优惠,同时成为Ai尚研修推广大使,推荐参会分享收益。
2.购买Ai尚研修平台导师视频课程(含导师随行长期指导),享受8.5折优惠。
3.免费享受Ai尚研修会议平台中会员专享下视频课程。
4.长期免费参与每月4期针对地学领域简学实用公开课(优先、无门槛)
5.免费参与任何一门课程开设的导师面对面线上答疑交流。
6.Ai尚研修资源站分享中数据免费下载;
7.会员既成为Ai尚研修合作伙伴,可以进行技术文章、视频教程投稿,分享收益红利,同时所在单位可以通过Ai尚研修新媒体平台进行合作及招聘推广。
声明: 本号旨在传播、传递、交流,对相关文章内容观点保持中立态度。涉及内容如有侵权或其他问题,请与本号联系,第一时间做出撤回。
END
Ai尚研修丨专注科研领域
技术推广,人才招聘推荐,科研活动服务
科研技术云导师,Easy Scientific Research